Phishing attacks are a general class of threats, aimed at accessing users' personal and financial accounts and data. Phishing operates by tricking the user into providing information and credentials which facilitate access to such accounts and data. An estimated 300 to 600 million phishing emails are sent every day all over the world. Many of these phishing attacks target users' online accounts, in particular bank accounts. To mitigate such attacks and enhance their security mechanisms in general, institutions such as banks and universities are starting to require two-factor authentication schemes which employ one time passwords (OTPs).
In these two-factor authentication schemes, the first factor, also known as the weak factor, is usually a traditional user name and password and/or other fixed data. The second factor, the OTP, referred to as the strong factor, is usually a piece of pseudorandom data. A device generates the OTP in real time when activated by the user by using a cryptographic key that is shared with the server. The device that generates the OTP is typically a hardware token. For example, a token such as RSA's SECURID or a smartphone may generate the OTP. Alternatively, OTP transmission may occur by another channel (e.g. SMS), generation by an application on the user's computer, or the use of biometric data such as voice data, fingerprint data, or similar information.
Unfortunately, phishers are adapting to the use of OTPs by using real-time man in the middle (MITM) attacks. Recently, the incidence of real-time MITM attacks has increased. In these attacks, the attacker phishes the user, tricking the user into revealing her name and password as well as her current OTP. The attacker then uses this information in real time to access the user's account. While the OTP may guarantee to the server that the user is involved, it does not guarantee that the party that submits the OTP is the user as opposed to an MITM attacker.
In authentication methods, some binding of challenges to the response has been used. Specifically, in SSL/TLS, the network establishes a connection based on a server certificate whose name must match at least part of the host name. However, client-side certificates are hardly ever used in consumer client-server authentication. Furthermore, client-side software certificates cannot be used when the user logs in from an unknown computer, such as at an Internet cafe.
Techniques with smart mobiles suggest a two-factor authentication scheme based on a smart mobile phone or other smart device. For example, the phone may keep the server's public key. The phone may use the public key to encrypt the user name and password that the user types into the phone instead of into her computer. The encrypted password acts like an OTP. This scheme is susceptible to a MITM phishing attack, however, and in case of such an attack, the protocol will end with a secure (SSL/TLS) session between the server and phisher, as well as between the phisher and the browser. Thus, the security of further transactions relies on authenticating each transaction by using the session key established between the server and the mobile phone. Another technique implements an SSL/TLS two-way authentication protocol with a client certificate stored in the mobile phone in order to mitigate online phishing attacks.
URL-based cryptographic tokens have been another option. For example, some technology uses entangling to allow pseudonymous, which is anonymous, but still personalized, web browsing, as well as anti-spam. Other technology uses entangling to provide, among other things, a unique password per URL to prevent the usage of the same password everywhere.
Thus, there is a clear need for an authentication scheme that mitigates MITM phishing attacks by preventing the phisher from successfully using a user's real-time generated OTP.